package day2.HomeWork;

/**
 * ClassName：Test11
 *
 * @Author：小鱼
 * @Create：2025-08-19 17:00
 */
public class Test11 {
    /*使用多线程实现龟兔赛跑游戏。
    1.可以使用随机数取得0~1之间的随机数模拟比赛进程
    2. 如果随机数在0~0.3之间代表兔子开始跑,每次跑2米。如果随机数在0.3~1之间代表乌龟开始跑，每次跑1米
    3. 总距离为100米，先跑完100米者为胜利者，输出赛跑过程及谁取得冠军
    */
    //标记比赛是否结束
    public static boolean isRaceOver = false;
    public static void main(String[] args) {
        Thread rabbit = new Thread(){
            //兔子跑到路程
            public int rabbitRoad = 0;
            @Override
            public void run(){
                while (!isRaceOver){
                    double num = Math.random();
                    if(num<0.3){
                        rabbitRoad+=2;
                        System.out.println("兔子当前位置：" + rabbitRoad + "米");
                    }
                    if (rabbitRoad>=100) {
                        isRaceOver = true;
                        System.out.println("兔子到达终点，取得冠军！");
                        break;
                    }
                }
            }
        };

        Thread turtle = new Thread(){
            //乌龟跑到路程
            public int turtleRoad = 0;
            @Override
            public void run(){
                while (!isRaceOver){
                    double num = Math.random();
                    if(num>=0.3){
                        turtleRoad++;
                        System.out.println("乌龟当前位置：" + turtleRoad + "米");
                    }
                    if (turtleRoad>=100) {
                        isRaceOver = true;
                        System.out.println("乌龟到达终点，取得冠军！");
                        break;
                    }
                }
            }
        };

        rabbit.start();
        turtle.start();
    }
}
